Modern data processing systems often include a file management system which allows a user to place files in various directories or subdirectories (e.g. folders) and allows a user to give the file a name. Further, these file management systems often allow a user to find a file by searching for the file's name, or the date of creation, or the date of modification, or the type of file. An example of such a file management system is the Finder program which operates on Macintosh computers from Apple Computer, Inc. of Cupertino, Calif. Another example of a file management system program is the Windows Explorer program which operates on the Windows operating system from Microsoft Corporation of Redmond, Wash. Both the Finder program and the Windows Explorer program include a find command which allows a user to search for files by various criteria including a file name or a date of creation or a date of modification or the type of file. However, this search capability searches through information which is the same for each file, regardless of the type of file. Thus, for example, the searchable data for a Microsoft Word file is the same as the searchable data for an Adobe PhotoShop file, and this data typically includes the file name, the type of file, the date of creation, the date of last modification, the size of the file and certain other parameters which may be maintained for the file by the file management system.
Many desktop search tools have emerged to enable a user to search for documents located on storage devices attached to a computer, either locally or remotely, such as Copernic Desktop Search, MSN Desktop Toolbar, Yahoo Desktop Search and Google Desktop. Typically, these tools create indexes out of information available in the file systems mounted to a computer operating environment, such as web browser histories, e-mail archives, word-processor documents and so on. A search is then conducted by matching query key words against the indexed data. Modern data processing system often includes a variety of file types. To index a new type of file, these desktop tools have to be upgraded with an additional file type support. This is not desirable as the number of new applications with new types of data continues to grow. Furthermore, an application may not allow direct access to an internal application data. Thus, support for a search for a metadata as part of an application data will not be available without interfacing with the application.
Usually, when a user selects a search result, an application is expected to act on the selection. For example, if the selected item is a hypertext with an URL (Universal Resource Identifier) points to a web page, a browser will be fetching and displaying the web page accordingly. If the selected item is a Microsoft Word document, a Microsoft Word application will be activated to process the document. Determining which application to activate for a selected item is typically done through an established association between an application and some information in the path identifying the selected item, such as the file name extension. It is well known that existing desktop search tools are capable of invoking Microsoft Word program for a selected item having a file name with a “.doc” extension. Utilities are also available in the operating environment allowing a user to associate an application with a designated file name extension. However, not every application has an established association with a file name extension. On the other hand, an application might not allow direct access to the underlying path information, such as a file name, of its application data. Therefore, the current mechanism of associating an application from a path identifying the application data may not apply for a metadata search result. As such, a user will not experience a unified user experience in conducting a search and using the search result.
Certain presently existing application programs allow a user to maintain data about a particular resource, such as a file. This data about a particular resource may be considered metadata because it is data about other data. A metadata for a particular file may include information about the author of a file, a summary of the document, and various other types of information. Typically, a metadata is an integral part of its associated resource and is maintained by the same application managing the associated resource. A program such as Microsoft Word may automatically create some of this data when a user creates a file and the user may add additional data or edit the data by selecting the “property sheet” from a menu selection in Microsoft Word. The property sheets in Microsoft Word allow a user to create metadata for a particular file or document.
However, in existing systems, a user is not able to search for metadata across a variety of different applications using one search request from the user. Even though existing desktop search tools could index the data of a file, none of them is capable of indexing the metadata associated with the file. Thus, existing systems can perform one search for data files, but this search does not also include searching through metadata for those files. Further, the metadata associated with a file is typically limited to those standardized metadata.
In addition, existing systems apply access permission to all metadata associated with a file or directory as a whole. For example, if a file is readable, all its associated metadata such as the modification date, creator codes, finger flags, icon position and label are all readable. Similarly, if a file is writable, all its associated metadata are writable.